﻿<%@ Page Title="Oprávnění ve fóru" Language="C#" MasterPageFile="~/Pages/Site.Master" AutoEventWireup="true" CodeBehind="Acl.aspx.cs" Inherits="Altairis.FluffyCloud.WebCore.Pages.Forum.Acl" %>
<asp:Content ContentPlaceHolderID="Main" runat="server">
    <h1>Oprávnění ve fóru</h1>
    <p>
        Jednotlivým
        <asp:HyperLink runat="server" NavigateUrl="<%$ RouteUrl: RouteName=GroupList %>" Text="skupinám uživatelů" />
        můžete přiřadit různá oprávnění v tomto fóru. Dále platí následující zásady:
    </p>
    <ul>
        <li>Akce <em>zakázat</em> má přednost před <em>povolit</em>.</li>
        <li>Pro využití dalších práv je nutné, aby měl uživatel právo <em>Číst příspěvky</em>, další práva bez něj nelze udělit (resp. udělit je lze, ale nebudou fungovat).</li>
        <li>Nejsou-li pro některou operaci nastavena žádná oprávnění, je zakázána všem uživatelům.</li>
        <li>Vlastník fóra a členové skupiny <em>$Administrators</em> mohou provádět všechny operace (i když jim to výslovně zakážete).</li>
    </ul>
    <asp:ListView ID="AclEntriesList" runat="server" ItemType="Altairis.FluffyCloud.Data.TopicAclEntry" DataKeyNames="AclEntryId" InsertItemPosition="FirstItem" SelectMethod="AclEntriesList_GetData" InsertMethod="AclEntriesList_InsertItem" DeleteMethod="AclEntriesList_DeleteItem">
        <LayoutTemplate>
            <table class="grid">
                <thead>
                    <tr>
                        <th>Operace</th>
                        <th>Skupina</th>
                        <th>Popis</th>
                        <th>Akce</th>
                        <th></th>
                    </tr>
                </thead>
                <tbody>
                    <asp:PlaceHolder ID="ItemPlaceHolder" runat="server" />
                </tbody>
            </table>
        </LayoutTemplate>
        <InsertItemTemplate>
            <tr class="insert">
                <td>
                    <asp:DropDownList ID="OperationList" runat="server" SelectedValue="<%# BindItem.Operation %>">
                        <asp:ListItem Value="read" Text="Číst příspěvky" />
                        <asp:ListItem Value="post" Text="Psát příspěvky" />
                        <asp:ListItem Value="edit" Text="Editovat vlastní příspěvky" />
                        <asp:ListItem Value="delete-own" Text="Mazat vlastní příspěvky" />
                        <asp:ListItem Value="delete-all" Text="Mazat cizí příspěvky" />
                    </asp:DropDownList>
                </td>
                <td colspan="2">
                    <asp:DropDownList ID="RoleList" runat="server" DataTextField="Text" DataValueField="Value" SelectMethod="RoleList_GetData" SelectedValue="<%# BindItem.RoleName %>" />
                </td>
                <td>
                    <asp:DropDownList ID="ActionList" runat="server" SelectedValue="<%# BindItem.Action %>">
                        <asp:ListItem Value="true" Text="povolit" />
                        <asp:ListItem Value="false" Text="zakázat" />
                    </asp:DropDownList>
                </td>
                <td class="btn">
                    <altairis:IconLinkButton runat="server" Icon="Add" CommandName="Insert" AlternateText="Přidat" />
                </td>
            </tr>
        </InsertItemTemplate>
        <ItemTemplate>
            <tr>
                <td><%#: Item.OperationDisplayName %></td>
                <td><code><%#: Item.RoleName %></code></td>
                <td><%#: Item.Role.Description %></td>
                <td><%#: Item.ActionDisplayName %></td>
                <td class="btn">
                    <altairis:IconLinkButton runat="server" Icon="Delete" CommandName="Delete" AlternateText="Smazat" data-confirm-prompt="Opravdu chcete tuto položku smazat?" />
                </td>
            </tr>
        </ItemTemplate>
    </asp:ListView>
    <p>
        <asp:Button ID="ResetButton" Text="Nastavit výchozí hodnoty" runat="server" data-confirm-prompt="Opravdu chcete smazat všechna současná nastavení a nahradit je výchozími hodnotami?" OnClick="ResetButton_Click" />
    </p>
</asp:Content>